The present invention relates generally to methods of generating look-up tables for a specific supply based on dot history. In one aspect, the invention relates to methods of generating look-up tables for a specific supply in a thermal printing process based on dot history and storing the look-up tables for use with the specific supply.
A typical thermal printer includes a printhead comprising a linear array of thermal elements. The number of thermal elements in the linear array can vary, with a characteristic printhead employing 1248 thermal elements. Each of the thermal elements produces heat in response to energy supplied by a microcontroller associated with the thermal printer. The microcontroller applies a voltage or current to each of the thermal elements to heat the thermal elements to a level sufficient to transfer dots (i.e., burns, printed dots, etc.) onto a media (e.g., an adhesive-backed substrate with an opposing ink-receiving surface). This is accomplished when a thermally-sensitive supply (e.g., ink-bearing ribbon, donor ribbon, etc.) comes into thermal contact with the thermal elements while proximate the media. Each thermal element can transfer a dot, or leave an unprinted area, depending on the amount of energy supplied to the thermal element.
Color printing is made possible by using a colored thermally-sensitive supply (e.g., a supply that contains colored ink). When the thermal element comes into thermal contact with the colored supply, a colored dot is generated. The range of colors available to the printer can be expanded if an additional, differently colored dot is generated upon a first colored dot, such that the two colored dots combine to make a third color. This process of laying one dot over another can be repeated to produce a myriad of colors and/or shades of color.
As thermal elements in the linear array are selectively, intermittently fired, a raster line of dots and/or unprinted areas is produced. The media is stepped past the array of thermal elements in a direction transverse to an array of thermal elements such that consecutive raster lines are produced on the media. The raster line most recently printed is known as the current raster line, the raster line printed one generation earlier is known as the previous raster line, and the raster line printed two generations earlier is known as the two-back raster line. The patterns of dots produced within each raster line are known as burn patterns. These burn patterns can comprise all, or a portion of, the dots in the raster line. Thus, the current raster line produces current burn patterns, the previous raster line produces previous burn patterns, and so on, through the burn pattern generations to create a history of burn patterns within the raster lines (history is referred to in greater detail below).
While the temperature of a thermal element can be quickly raised by the application of energy, a longer time is required for the thermal element to cool, generally along an exponential curve that is affected by the ambient temperature of the printhead. This result occurs because a thermal element will retain heat and/or receive heat radiated from adjacent thermal elements. Thus, the thermal element will remain hot long after energy is directed to that thermal element. One problem with the thermal element remaining hot arises when the thermal element is instructed to remain idle (i.e., insufficiently heated), meaning that an area on the media remains unprinted. If the thermal element is too hot, a dot, or portion thereof, may be generated where no dot is desired.
The dilemma of excess retained or radiated heat predominately occurs after a series of consecutive dots are generated. For example, where a series of dots are produced by a thermal element at four consecutive sites on a media, and then the thermal element is instructed to remain idle at a fifth site, a dot might nonetheless be printed at the fifth site. This can occur if too much heat was retained by the thermal element after generating the first four dots because the thermal element remains above the temperature required to generate a dot when the thermal element reached the fifth site. In other words, the thermal element did not have sufficient time to cool below the temperature required to transfer a dot. Unfortunately, the normal consequence of the above example is a series of four dots followed by a fractional dot where there should be a blank, clear, or unprinted area. This problem is sometimes referred to in the art as hysteresis. Complicating the problem of hysteresis is the increasing printing speed being employed in printers. As the speed of printing increases, the media travels past the printhead faster and thermal elements have less time to cool.
Several approaches have been suggested to combat the problem of hysteresis. One such approach provides a plurality of thermal energy pulses of varying duration depending on whether a thermal element is xe2x80x9ccoldxe2x80x9d, xe2x80x9cwarmxe2x80x9d or xe2x80x9chotxe2x80x9d. Another solution that has been suggested requires that all thermal elements be kept at an elevated resting temperature just below that needed for printing by supplying xe2x80x9cmaintenancexe2x80x9d pulses during every interval that a thermal element is not actually printing. Yet, another solution to the problem employs dot history which takes into account the history of thermal element burn patterns in order to print more efficiently. In the simplest terms, dot history takes into account the firing, over time, of a thermal element and/or an adjacent thermal element or elements. Unfortunately, undertaking any of the above methods requires onerous calculations to be performed by the processor in the printer system. Part of the problem stems from the fact that each specific supply used in the printing system possesses different characteristics (e.g., width, ink color, ink type, etc.) that must be considered to produce a quality print. Thus, a printer processor is required to make numerous calculations, usually during the printing operation, for each new supply used.
In U.S. Pat. No. 6,034,705 to Tolle, et. al., and again in U.S. Pat. No. 6,249,299 to Tainer, methods of controlling energy supplied to a single thermal element based on dot history are disclosed. Also, In U.S. Pat. No. 5,548,688 to Wiklof, et. al., another method of controlling the energy supplied to a single thermal element based on dot history and adjacent thermal elements is disclosed. Wiklof also discloses determining the printing activity, namely whether the thermal element is energized or not energized for each segment in the scan line time, for a single thermal element and storing the information in a look-up table. However, the methods of Tolle, Tainer, and Wiklof, command a large processor memory and consume a vast amount of processor time, and as such, these methodologies become less desirable, particularly as more thermal elements and/or adjacent thermal elements in dot history are taken into consideration. Moreover, the above methods tend to monopolize and over-tax the processor in a printing system. Thus, a more efficient method of printing employing look-up tables is needed. Further, a more desirable location for storing the look-up tables would be preferred.
A method of determining supply parameters and storing the supply parameters in a memory. In one embodiment, the method comprises providing supply characteristics for a supply, selecting a dot history pattern, generating a table, and storing supply parameters based on the values in the generated table in a memory associated with the supply. In a preferred embodiment, the table comprises values based on the selected dot history pattern and the provided supply characteristics. The supply characteristics, which can be obtained from a supply cartridge containing a thermally sensitive, ink-bearing ribbon, can include supply width, supply length, supply thickness, and ink color. The method can employ a dot history pattern that comprises adjacent thermal elements and prior generations of thermal elements.
In one embodiment, the table is at least partially based on a thermal element number and a number of possible energy value combinations. A formula for providing the table with index values can comprise a sum of a left adjacent thermal element, a first product of two and a right adjacent thermal element, a second product of four and a previous generation of a selected thermal element, and a third product of eight and a two-back generation of the selected thermal element, wherein each of the thermal elements is represented by binary numbers. The index values are generally arranged sequentially from smallest to largest within the index.
The table can comprise a microstrobe number that represents one or more microstrobes. The microstrobes can receive a pulse of energy about two hundred microseconds apart in a print interval. The microstrobe number can be determined by testing the specific supply. The table can further comprise binary pulse numbers comprising a one, which corresponds to a microstrobe receiving a pulse of energy, or a zero, which corresponds to the microstrobe not receiving the pulse of energy. At least one of the microstrobes receives a pulse of energy that is sufficient to generate a dot, and typically, that microstrobe occurs last in the print interval. The table can also comprise a strobe number.
The memory can comprise a memory cell secured to a cartridge containing the supply. The memory comprise a solid-state memory device, a RAM, a non-volatile RAM, an EEPROM, and a flash memory.
In preferred embodiments, the method can comprise determining printing parameters and storing the printing parameters in a memory. In these embodiments, the method comprises providing supply characteristics for a supply, selecting a dot history pattern, and determining a thermal element number. Thereafter, an index having an index length can be created. The index length can be based on the thermal element number. Index values can be determined to occupy the index length. The index values can be based on the dot history pattern. A microstrobe number based on the supply characteristics can then be selected. The microstrobe number represents microstrobes within a print interval.
Thereafter, binary pulse numbers can be assigned to the each of the microstrobes based on a strobe pattern. The binary pulse numbers can correspond to each of the index values occupying the index length. For each of the microstrobes, a microstrobe energy value can be determined based on the supply characteristics. Strobe numbers can thereafter be determined based on the binary pulse numbers. The strobe numbers can correspond to each of the index values occupying the index length. The supply parameters, which include the microstrobe number, the microstrobe energy values, and the strobe numbers, can be stored in the memory associated with the supply.
The method can also comprise accessing the supply parameters using the processor. The accessed supply parameters can then be used to increase printing speed and regulated energy provided to thermal elements. This can assist in generating dots such that the dots are not malformed, fractional, unaesthetic, and otherwise undesirably generated.
Another aspect of the invention comprises a printing system for thermal printing. The system can comprise a printhead that contains thermal elements for generating dots, a processor for processing supply parameters, and a microcontroller for receiving signals from the processor. The microcontroller can orchestrate the thermal elements in the printhead such that an image of dots can be generated. The system can also include a supply cartridge, containing a thermally sensitive supply, and a memory secured to the supply cartridge. To be used, the supply cartridge is inserted within the printing system. In these aspects, supply characteristics can be provided for a supply, a dot history pattern can be selected, and a table can also be generated. The table can comprise values based on the selected dot history pattern and the provided supply characteristics. Supply parameters, based on the values in the generated table, can be stored in a memory associated with the supply.
A further aspect of the invention comprises an apparatus for use in a printer. The apparatus can comprise a supply container, a memory cell associated with the supply container, and supply specific printing parameters stored within the memory cell. In these aspects, the printer is configured to receive the supply container and a processor associated with the printer can obtain access to the supply specific printing parameters when the supply container is received.
In some embodiments, the memory cell can be erased after a supply stored within the supply container is exhausted. Further, the memory cell can contain an electronic lock capable of being unlocked by an electronic key associated with the printer. In these embodiments, the electronic key can be accessed by the printer and used to unlock the supply specific printing parameters stored in the memory cell.